Skip to content

0x1BE/OSEE-Prep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

EXP-401: Advanced Windows Exploitation - OSEE Certification

This repository is dedicated to my self-study journey towards the Offensive Security Exploit Expert (OSEE) certification. I am planning to attend the course in 2025 or 2026, and this is part of my preparation. I believe in the power of open learning and therefore, I am sharing the materials that I am using for my studies.

OSEE 401 Exam Preparation Guide

This repository serves as a structured guide for preparing for the Offensive Security Exploitation Expert (OSEE) 401 exam. It is meticulously crafted based on the EXP401 Syllabus and focuses on the major topics essential for mastering advanced Windows exploitation techniques.

Introduction

The OSEE certification is recognized in the cybersecurity industry for its rigor and emphasis on practical, hands-on skills. This guide aligns with the official syllabus and is designed to provide learners with detailed resources, clear explanations, and practical exercises for each major module.

Prerequisites

  • Solid understanding of Windows operating systems at both the administrative and kernel level. Familiarity with Windows internals, system architecture, and subsystems.
  • Advanced programming skills in languages such as C, Python, and Assembly, especially as they relate to system-level programming and exploit development in Windows environments.
  • Substantial experience in penetration testing and security research, particularly in identifying and exploiting Windows-based vulnerabilities.
  • Proficiency with a wide range of security tools specific to Windows, including debuggers (such as WinDbg), disassemblers/decompilers (like IDA Pro, Ghidra), and virtualization software (VMware, Hyper-V).
  • Strong background in reverse engineering Windows applications and binaries, with the ability to analyze and understand complex code structures.
  • Prior experience in developing and exploiting advanced vulnerabilities such as buffer overflows, heap overflows, use-after-free vulnerabilities, and other complex Vulns. in Windows environments.

Key Vulnerabilities Covered

VMware Workstation Guest-To-Host Escape

  • CVE-2017-4901: Bug in Drag and Drop RPCI

Microsoft Edge Type Confusion

  • CVE-2019-0567: Type confusion vulnerability in Microsoft Edge

Table of Contents

(Note: Content for each section, along with additional sections, will be updated regularly.)

Note on Content

This guide intentionally focuses on the main topics from the syllabus. Some specific topics have been omitted to ensure the guide remains concise and directed towards the primary learning objectives. For comprehensive coverage, learners are encouraged to refer to the official syllabus alongside this guide.

Stay Connected

Follow my journey and share your experiences on Twitter: 0x1BE.

Future Modules

More modules and sections will be added to this guide as I continue through the course. This includes an in-depth exploration of advanced topics, each accompanied by practical examples and resources for thorough study.

Disclaimer

This repository is intended solely for educational purposes in preparation for the OSEE 401 exam. All materials and exercises are structured to align with the EXP401 Syllabus. This guide is not affiliated with or endorsed by Offensive Security.


Let's embark on this challenging yet rewarding journey together. Happy hacking!

Table of Contents

Custom shellcode creation is a critical skill for exploit developers. This module covers various aspects of shellcode development, including understanding 64-bit architectures and the intricacies of Win32 APIs.

2.1 64-bit Architecture

The shift to 64-bit architecture brings several changes in how systems handle memory and execute code. This section delves into these changes and their impact on exploit development.

  • 2.1.1 64-bit Memory Enhancements
    • Description: An exploration of the enhancements in memory management in 64-bit systems and their implications on security.
    • Resources: 64-bit Memory Management
  • 2.1.2 Calling Conventions
    • Description: Understanding the calling conventions in 64-bit systems and how they differ from 32-bit systems.
    • Resources: 64-bit Calling Conventions
  • 2.1.3 Win32 APIs

2.2 Writing Exploit Code

A deep dive into the best practices and methodologies for writing effective and reliable exploit code.

2.3 Shellcode Framework Creation

2.4 Reverse Shell

This module covers the techniques and vulnerabilities associated with escaping from a VMware Workstation guest environment to the host, a critical aspect of virtual machine security.

3.1 Vulnerability Classes

  • Description: An overview of different classes of vulnerabilities commonly found in virtualized environments like VMware.
  • Resources: VMware Vulnerability Classes

3.2 Data Execution Prevention (DEP)

  • 3.2.1 DEP Theory
  • 3.2.2 Ret2Lib Attacks and Their Evolution
    • Description: The evolution and mechanics of Return-to-Library attacks in the context of modern security defenses.
    • Resources: Ret2Lib Attack Techniques
  • 3.2.3 Return Oriented Programming
    • Description: Advanced exploitation techniques using Return Oriented Programming to bypass security mechanisms.
    • Resources: ROP Techniques

3.3 Address Space Layout Randomization

  • Description: Techniques for bypassing ASLR, a common memory protection mechanism.
  • Resources: Bypassing ASLR

3.4 VMware Workstation Internals

3.5 UaF Case Study: VMware Workstation Drag & Drop Vulnerability

3.6 The Windows Heap Memory Manager

3.7 Low Fragmentation Heap

3.8 UaF Case Study

3.9 UaF Case Study: Reallocation Control

3.10 UaF Case Study: Fake Virtual Table

3.11 UaF Case Study: ROP Storage

3.12 UaF Case Study: Bypassing ASLR

3.13 UaF Case Study: Stack Pivoting

3.14 UaF Case Study: Defeating DEP

3.15 Restoring the Execution Flow

3.16 Executing Shellcode

3.17 Windows Defender Exploit Guard

3.18 Testing the WDEG Protections

3.19 ROP Mitigations

This module focuses on exploring and exploiting type confusion vulnerabilities specifically in the Microsoft Edge browser, emphasizing the internal mechanisms of Edge, advanced exploitation techniques, and practical case studies.

4.1 Edge Internals

  • Description: An in-depth look at the architecture and internal components of the Microsoft Edge browser.
  • Resources: Inside Microsoft Edge

4.2 Type Confusion Case Study

  • Description: Analyzing real-world type confusion vulnerabilities in Edge and understanding their exploitation.
  • Resources: Edge Type Confusion Exploits

4.3 Exploiting Type Confusion

  • Description: Techniques and strategies for exploiting type confusion vulnerabilities in web browsers.
  • Resources: Exploiting Type Confusion

4.4 Going for RIP

  • Description: Methods to control the instruction pointer (RIP) in exploitation scenarios, a crucial step in gaining execution control.
  • Resources: Controlling the RIP in Exploits

4.5 CFG Bypass

  • Description: Strategies for bypassing Control Flow Guard (CFG) in Windows, a security feature to prevent memory corruption vulnerabilities.
  • Resources: Bypassing CFG

4.6 Data Only Attack

  • Description: Techniques for executing data-only attacks, where the attacker manipulates the data without changing the code.
  • Resources: Data Only Attacks in Depth

4.7 Arbitrary Code Guard (ACG)

  • Description: Understanding and bypassing Arbitrary Code Guard, a security feature in modern Windows environments.
  • Resources: ACG Exploitation Techniques

4.8 Advanced Out-of-Context Calls

4.9 Remote Procedure Calls

4.10 Browser Sandbox

Future Modules

More modules and sections will be added to this guide as I continue through the course. This includes detailed exploration of topics such as driver callback overwrite, unsanitized user-mode callbacks, and more, each accompanied by practical examples and resources for in-depth study.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published